1. Field of Invention
This invention relates generally to computing systems, and in particular, to a method of managing access to data stored in plural locations and managed by plural servers.
2. Background of the Invention
In the world of E-commerce, computer networks and Internet, safety, security and availability of data is important for a business to survive and succeed. Companies use various tools to maintain data integrity. Data integrity refers to the quality, consistency and accuracy of the data provided to a user. Poor data integrity means data is corrupt, garbled, incomplete, unreliable, inaccurate or out of date. Data integrity helps improve the accuracy, efficiency and productivity of users.
Data integrity, in a computing environment, can be compromised through human errors, errors during transmission, software bugs, hardware malfunctions such as system crashes or disk crashes or by natural disasters. Most companies back up data so that if the storage system crashes, data is not completely lost.
Data is typically stored in a primary storage location that is managed by a primary server. Data is typically stored as file data and metadata. Data is backed up at a secondary storage location and managed by a secondary server.
It is noteworthy that the term server, primary server and secondary server as used herein include the storage system that actually stores the data. These terms also include virtual storage systems, where data is stored in multiple locations but to the server it appears to be located at a single location.
Backups are done real-time so that the users are provided with the most recent and accurate data at any time on the secondary server in the event the primary server crashes or becomes unavailable. Even with real time data backup, there is some inherent latency. If the primary server crashes or becomes unavailable during the backup period, the data available on the secondary or backup server can easily get out of synchronization due to the latency and the users are left with inaccurate data.
In view of the foregoing, there is a need for a method and system to automatically check and correct any disconnects between related data sources residing on one or more servers as and when it occurs with little or no impact to the users. There is also a need to synchronize data residing on a primary server(s) and backup server(s) periodically to minimize loss of data and enable users to have the most updated data for processing.